从零开始自定义编译 OpenWrt(LEDE) 固件

您所在的位置:网站首页 openwrt编译教程 lean 从零开始自定义编译 OpenWrt(LEDE) 固件

从零开始自定义编译 OpenWrt(LEDE) 固件

#从零开始自定义编译 OpenWrt(LEDE) 固件 | 来源: 网络整理| 查看: 265

OpenWrt路由固件可玩性极高。但是市面上的固件虽然做得很棒。但是里面有很多功能我们自身用不到,反而占用了系统资源。那么如何自己手动编译属于自己的固件呢?

编译固件也是一种乐趣,整个过程大约3小时左右,需要耐心等待。(当然和你的系统性能有关)

环境

Debian 11 或者 Ubuntu

网络流畅

编译环境

# 升级 sudo apt update -y sudo apt full-upgrade -y # 安装依赖 sudo apt install -y ack antlr3 aria2 asciidoc autoconf automake autopoint binutils bison build-essential \ bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \ git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \ libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \ mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pip libpython3-dev qemu-utils \ rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev # 清理 sudo apt autoremove --purge sudo apt clean

新建一个用户,用于编译固件

useradd -m openwrt # 新建一个名为 openwrt 的用户

修改用户默认的 Shell

apt install -y sudo usermod -s /bin/bash openwrt

切换用户拉取代码

su openwrt cd ~ #拉取源码,这里用的是 Lean 大佬的 LEDE 分支源码 git clone https://github.com/coolsnowwolf/lede cd lede #添加软件源,L大源码里默认有四个软件源里面包含了大部分常用插件,如果要添加其他没有的插件则需要自行添加软件源至 feeds.conf.default 文件,当然也可以单独添加某个插件 vim feeds.conf.default # 添加软件源(打开下方仓库链接可以查看包含的插件列表,一般选前两个源就行) src-git kenzo https://github.com/kenzok8/openwrt-packages src-git small https://github.com/kenzok8/small src-git haibo https://github.com/haiibo/openwrt-packages src-git liuran001 https://github.com/liuran001/openwrt-packages

固件主题

rm -rf package/lean/luci-theme-argon git clone -b 18.06 https://github.com/jerrykuku/luci-theme-argon.git package/lean/luci-theme-argon

插件

git clone https://github.com/esirplayground/luci-app-poweroff.git package/luci-app-poweroff

更新并安装插件

./scripts/feeds clean ./scripts/feeds update -a ./scripts/feeds install -a

自定义配置

# 修改默认IP为 10.0.0.2 sed -i 's/192.168.1.1/10.0.0.2/g' package/base-files/files/bin/config_generate # 修改默认主机名 sed -i '/uci commit system/i\uci set system.@system[0].hostname='Soft_Router'' package/lean/default-settings/files/zzz-default-settings # 加入编译者信息 sed -i "s/OpenWrt /Kinoko build $(TZ=UTC-8 date "+%Y.%m.%d") @ OpenWrt /g" package/lean/default-settings/files/zzz-default-settings # 修改默认主题 sed -i "s/luci-theme-bootstrap/luci-theme-argon/g" feeds/luci/collections/luci/Makefile

执行 make menuconfig 命令进入编译菜单

菜单简要说明

# 选择 CPU 类型 Target System (x86) --> # 软路由选择 x86,硬路由根据型号厂家自行选择 Subtarget (x86_64) --> # CPU 子选项 Target Profile (Generic x86/64) --> # 厂家具体型号 # 设置镜像编译的格式(squashfs,ext4) Target Images --> # 默认 squashfs # 添加较多插件时,为了避免空间不足,建议修改下面两项默认大小(x86/64) Target Images --> (16) Kernel partition size (in MB) # 默认是16,建议修改为256 Target Images --> (400) Root filesystem partition size (in MB) # 默认是400,建议修改为512 # 开启 IPv6 支持 Extra packages --> ipv6helper(选定这个后,下面几项会自动选择) Network --> odhcp6c Network --> odhcpd-ipv6only LuCI --> Protocols --> luci-proto-ipv6 LuCI --> Protocols --> luci-proto-ppp # 开启适用于 VMware 的 VMware Tools Utilities --> open-vm-tools Utilities --> open-vm-tools-fuse # 选择插件 LuCI --> Applications # 根据需要选择,* 代表编入固件,M 表示编译成模块或者IPK包,为空表示不编译 # 选择主题 LuCI --> Themes # 选择喜欢的主题,可以选多个 # 其他选项一般不需要调整,如感兴趣可以自行了解

最后编译固件,编译完成后输出路径是 bin/targets,默认密码是 password编译固件(-j 后面是线程数,首次编译推荐用单线程)

make V=s -j1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3